<?php

require_once("dao/Dao.php");

/**
 * DAO de l'objet offre acheté.
 *
 * @author Anaud
*/
class OffrePaysInternationalFixeMobileDao extends Dao{

	protected static $tableName = "pays_international_fixe_mobile";

	/**
	 * Suppression d'une offre
	 */
	public static function delete($id){
		global $bdd, $logger;

		$logger->info("Suppression de l'offre : " + $id);

		// Suppression de l'offre
		$requete = $bdd->prepare("DELETE FROM ".OffrePaysInternationalFixeMobileDao::$tableName." WHERE id ='".$id."' ");
		if ($requete->execute()){

			if ($requete->execute()){
				// La suppression c'est correctement réalisée.
				return true;
			}
		}
		$logger->error("Erreur lors de la suppression de l'offre : " + $id);

		// La suppression a produit une erreur
		return false;
	}
	
	

	/**
	 * Recherche des offres
	 */
	public static function getAll(){
		return parent::find(OffrePaysInternationalFixeMobileDao::$tableName);
	}
	


	/**
	 * Recherche des offres par id offre 
	 */
	public static function searchById($id){
		return parent::find(OffrePaysInternationalFixeMobileDao::$tableName, "id='".$id."'");
	}
	

	/**
	 * Recherche des offres par code offre et nom
	 */
	public static function searchByCode($code_article){
		return parent::find(OffrePaysInternationalFixeMobileDao::$tableName, "code_article LIKE '%".$code_article."%' OR nom LIKE '%".$code_article."%'");
	}
	
	/**
	 * Recherche des pays par le type de ligne
	 */
	public static function searchByType($type){
		
		if($type == 'vga' or $type == 'vga-num')
		{
			$table = 'vga_table_prix';
			$var = "destination NOT LIKE '%FRANCE%'";
		}
		elseif($type == 'voip')
		{
			$table = 'voip_table_prix';
			$var = "destination NOT LIKE '%FRANCE%'";
		}
		elseif($type == 'mobile')
		{
			$table = 'correspondance_tarif_mobile_roaming';
			$var = '';
		}
		$liste_pays = parent::find($table, $var);
		return $liste_pays;
	}
	
	/**
	 * Recherche des pays par le type de ligne
	 */
	public static function getPays($table,$code_pays){
		if(is_numeric($code_pays))
		{
			$var = "id = '".$code_pays."' ";
		}else{
			$var = "CountryCode = '".$code_pays."' ";
		}
		$pays = parent::find($table, $var);
		return $pays;
	}
	
	/**
	 * Retourne toutes les offres fixe
	 */
	public static function getOffresMobile(){
		return parent::find("pays_international_fixe_mobile");
	}
		
	
	/**
	 * Update offre
	 */
		public static function update($id,$type,$code_article,$nom,$liste_pays){
		
		return parent::exec("UPDATE `pays_international_fixe_mobile` SET type='".$type."', code_article='".$code_article."', nom='".$nom."', liste_pays='".$liste_pays."' WHERE id=".$id."" );
		}
		
		
	
}

